package xin.marcher.module.common.enums.construction;

import java.util.HashMap;
import java.util.Map;

/**
 *
 */
public enum ItemTypeEnum {

    /**
     * 原料商品
     */
    MATERIAL(1, "原料商品"),

    /**
     * 普通商品
     */
    ORDINARY(2, "普通商品"),
    /**
     * 组套商品
     */
    STACK(3, "组套商品"),

    /**
     * 虚拟商品
     */
    VIRTUAL(4, "虚拟商品");

    private Integer code;

    private String value;

    ItemTypeEnum(Integer code, String value) {
        this.code = code;
        this.value = value;
    }

    public Integer getCode() {
        return code;
    }

    public String getValue() {
        return value;
    }

    public static Map<Integer, String> toMap() {
        Map<Integer, String> map = new HashMap<>(16);
        for (ItemTypeEnum element : ItemTypeEnum.values()) {
            map.put(element.getCode(), element.getValue());
        }
        return map;
    }

    public static ItemTypeEnum getByCode(Integer code) {
        if (code == null) {
            return null;
        }
        for (ItemTypeEnum element : ItemTypeEnum.values()) {
            if (code.equals(element.getCode())) {
                return element;
            }
        }
        return null;
    }
}
